מחולל ממים

במדריך הזה נסביר על גישה מעשית להטמעת אפליקציה באמצעות קריאה לפונקציות באמצעות Gemma. אפשר להחיל את הטכניקה הזו על גרסאות שונות של מודל Gemma באמצעות תכנון הנחיות בקפידה. מידע נוסף זמין במאמר מעבר ל-Chatbot: AI עם יכולות של סוכן באמצעות Gemma.

הסבר על קריאות לפונקציות

המבנה הנפוץ של קריאה לפונקציה כולל כמה רכיבים מרכזיים, שנועדו לאפשר ל-Gemma לקיים אינטראקציה עם כלים חיצוניים או ממשקי API.

  1. תיאור הכלים
    אתם מספרים למודל על 'הכלים' (הפונקציות) שבהם הוא יכול להשתמש. למשל:

    • מה הכלי עושה (תיאור)
    • איזה מידע נדרש לכלי (פרמטרים)
  2. המשתמש שואל שאלה
    אתם שואלים את המודל שאלה או נותנים לו משימה

  3. Gemma מחליטה
    המודל קובע אם הוא זקוק לכלי כדי לענות על השאלה שלכם.

  4. Gemma מבקשת כלי
    אם יש צורך בכלי, Gemma תיצור קוד עם הקוד ‎```tool_code```‎

  5. הכלי מבצע את הפעולה שלו
    הכלי (הפונקציה) מקבל את המידע מהמודל ומבצע את הפעולה שהוא אמור לבצע.

  6. הכלי מחזיר תוצאות
    Gemma מצפה לקבל את התוצאה שלה עטופה ב-```tool_output```

  7. Gemma מספקת תשובה סופית
    המודל משתמש בתוצאות של הכלי כדי ליצור תשובה מלאה ומדויקת בשבילכם.

טיפים שימושיים

  • JSON Schema: השימוש ב-JSON Schema להגדרות של פרמטרים, אמנם לא חובה, אבל הוא מציע את היתרונות של מבנה עקבי ואימות אוטומטי.
  • הבנה ברורה: איכות התיאורים של הפונקציות קריטית כדי שהמודל יוכל לזהות בצורה נכונה מתי להשתמש בהן.
  • טיפול בשגיאות: טיפול יעיל בשגיאות חיוני לטיפול במקרים שבהם קריאת הפונקציה נכשלת או מחזירה תוצאות בלתי צפויות.
  • תהליך איטרטיבי: לפעמים יש כמה סבבים של שיחה בין המודל לבין קריאות הפונקציה.

דוגמאות להנחיות ולפלטים

הקוד של האפליקציה הזו זמין במאגר הקוד של Gemma Cookbook.

שלבים 1 ו-2: מתארים את הכלי ומציינים משימה

תמונה מצחיקה של חתול

קלט: תמונה מצחיקה של חתול
קלט טקסט:

If you decide to invoke any of the function(s), it should be wrapped with ```tool_code```.

You have access to the following tools.

* `generate_meme(image, top_text, middle_text, bottom_text)`: Generate a meme with the given parameters

Make a funny meme with this. "meme.jpg"

שלב 3: גילי מחליטה ומבקשת כלי

ההנחיה הזו תיצור את התגובה הבאה:

Okay, here's a funny meme based on the image of the surprised cat:

```tool_code
generate_meme(image="meme.jpg", top_text="Me when I hear a creak", middle_text="Is it safe?", bottom_text="Probably not.")
```

שלב 4: הכלי מבצע את הפעולה שלו

כדי לעבד את הפלט של המודל, תצטרכו לאתר את בלוקי הקוד, לנתח את הארגומנטים של הפונקציות ולבצע את הפונקציות.

הפלט הסופי של הכלי ליצירת ממים